package desginmode.single

/**
 * 线程安全，非懒加载(最基本的单例)
 */
object PlainSingle {

    fun getName() = "PlainSingle"
}

/**
 * object对象调用方式，省去了.INSTANCE，直接调用方法
 */
fun main(args: Array<String>) {
    print(PlainSingle.getName())

}

//编译后的代码
//public final class PlainSingle {
//    public static final PlainSingle INSTANCE;
//
//    private PlainSingle() {
//        INSTANCE = (PlainSingle)this;
//    }
//
//    static {
//        new PlainSingle();
//    }
//}

//public final class PlainSingleKt {
//    public static final void main(@NotNull String[] args) {
//        Intrinsics.checkParameterIsNotNull(args, "args");
//        String var1 = PlainSingle.INSTANCE.getName();
//        System.out.print(var1);
//    }
//}

